﻿/*-------------------------------------
//
//Copyright (C) 2007 开发二组 版权所有。
//
//文件名：ImageInfo.aspx.cs
//
//
//文件功能描述：根据商品编号与图片的编号
//从数据库中获取Image类型的图片显示在页面上.
//
//
//创建标识：2007.11.16 王勇
//创建描述：对显示图片部分描述..
//
//------------------------------------*/


using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class ImagInfo : System.Web.UI.Page
{

    //服务操作的类
    localhost.ProductService myOperate = new localhost.ProductService();

   //获取图片图片编号
    private string strImageID = string.Empty;

    //当前页的索引,默认为1
    private static int iPageIndex = 1;

    protected void Page_Load(object sender, EventArgs e)
    {
       //获取商品编号
        string strProductID = string.Empty;

        if (!IsPostBack)
        {
           //页面第一次加载
            if (Request.QueryString["productID"] != null)
            {
                //商品编号，传值不为空
                strProductID = Request.QueryString["productID"].ToString();
            }

            if (Request.QueryString["imageID"] != null)
            {
                //图片编号，传值不为空
                strImageID = Request.QueryString["imageID"].ToString();
            }

            if (Request.QueryString["pageIndex"] != null)
            {
                //如果传进来的页索引不为空
                iPageIndex = int.Parse(Request.QueryString["pageIndex"].ToString());
            }

            if (strProductID != string.Empty)
            {
                //商品编号不空,绑定现实图片
                GetImageInfo(strProductID);
            }
        }
    }



    /// <summary>
    /// 绑定显示图片
    /// </summary>
    /// <param name="strProductID">参数,商品编号,string类型</param>
    protected void GetImageInfo(string strProductID)
    {
       
        //异步调用WebService
        //myOperate.GetProductImageListByProductIDCompleted += new localhost.GetProductImageListByProductIDCompletedEventHandler(myOperate_GetProductImageListByProductIDCompleted);

        //myOperate.GetProductImageListByProductIDAsync(4, iPageIndex, strProductID);

        DataSet ds = myOperate.GetProductImageListByProductID(4, iPageIndex, strProductID);

        if (ds != null)
        {

            //有图片
            if (strImageID != string.Empty)
            {
                //图片编号不空
                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                {
                    if (ds.Tables[0].Rows[i]["ImageID"].ToString() == strImageID)
                    {
                        //在图片列表中,根据图片的编号获取图片并显示
                        byte[] imageInfo = (byte[])ds.Tables[0].Rows[i]["ImageInfo"];

                        //显示为jpg格式
                        Response.ContentType = "image/jpeg";

                        //在页面上显示图片
                        Response.BinaryWrite(imageInfo);

                        break;
                    }
                }
            }
            else
            {
                //没有传图片编号参数过来，取得该商品的第一个图片
                if (ds.Tables[0].Rows.Count > 0)
                {
                    //如果有数据
                    byte[] imageInfo = (byte[])ds.Tables[0].Rows[0]["ImageInfo"];

                    //显示为jpg格式
                    Response.ContentType = "image/jpeg";

                    //在页面上显示图片
                    Response.BinaryWrite(imageInfo);

                }
            }
        }
    }



    ///// <summary>
    ///// 回调函数
    ///// </summary>
    ///// <param name="sender"></param>
    ///// <param name="e"></param>
    //void myOperate_GetProductImageListByProductIDCompleted(object sender, localhost.GetProductImageListByProductIDCompletedEventArgs e)
    //{
    //   // 获取数据
    //        DataSet ds = e.Result;

    //        if (ds != null)
    //        {

    //           //有图片
    //            if (strImageID != string.Empty)
    //            {
    //               //图片编号不空
    //                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
    //                {
    //                    if (ds.Tables[0].Rows[i]["ImageID"].ToString() == strImageID)
    //                    {
    //                        //在图片列表中,根据图片的编号获取图片并显示
    //                        byte[] imageInfo = (byte[])ds.Tables[0].Rows[i]["ImageInfo"];

    //                        //显示为jpg格式
    //                        Response.ContentType = "image/jpeg";

    //                        //在页面上显示图片
    //                        Response.BinaryWrite(imageInfo);

    //                        break;
    //                    }
    //                }
    //            }
    //            else
    //            {
    //                //没有传图片编号参数过来，取得该商品的第一个图片
    //                if (ds.Tables[0].Rows.Count > 0)
    //                {
    //                    //如果有数据
    //                    byte[] imageInfo = (byte[])ds.Tables[0].Rows[0]["ImageInfo"];

    //                    //显示为jpg格式
    //                    Response.ContentType = "image/jpeg";

    //                    //在页面上显示图片
    //                //  Response.BinaryWrite(imageInfo);

    //                }
    //            }
    //        }
    //}
}
